package com.slj.service;

import com.slj.entity.ProductTypes;

import java.util.List;

/**
        * 商品类型服务接口
 * 定义所有与商品类型相关的业务操作
 */
public interface ProductTypesService {

    /**
            * 根据主键删除商品类型
     * @param typeId 商品类型ID
     * @return 影响的行数
     */
    int deleteByPrimaryKey(Integer typeId);

    /**
            * 插入商品类型记录（所有字段）
            * @param record 商品类型实体对象
     * @return 影响的行数
     */
    int insert(ProductTypes record);

    /**
            * 选择性插入商品类型记录（只插入非空字段）
            * @param record 商品类型实体对象
     * @return 影响的行数
     */
    int insertSelective(ProductTypes record);

    /**
            * 根据主键查询商品类型
     * @param typeId 商品类型ID
     * @return 商品类型实体对象
     */
    ProductTypes selectByPrimaryKey(Integer typeId);

    /**
            * 根据主键选择性更新商品类型（只更新非空字段）
            * @param record 商品类型实体对象
     * @return 影响的行数
     */
    int updateByPrimaryKeySelective(ProductTypes record);

    /**
            * 根据主键更新商品类型（更新所有字段）
            * @param record 商品类型实体对象
     * @return 影响的行数
     */
    int updateByPrimaryKey(ProductTypes record);

    /**
            * 查询所有商品类型
     * @return 商品类型列表
     */
    List<ProductTypes> selectAll();
}